#ifndef SEMAPHORE_HPP
#define SEMAPHORE_HPP
#include <stdint.h>
#include <stdbool.h>
extern "C"
{
	#include "FreeRTOS.h"
	#include "task.h"
	#include "queue.h"
	#include "timers.h"
	#include "semphr.h"
}
namespace systemos
{
	class semaphore
	{
		private:
			QueueHandle_t mQueueHandle;
		public:
			semaphore(void);
			BaseType_t Take(TickType_t xTicksToWait);
			BaseType_t Give(void);
	};
}

#endif
